load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")

go_library(
    name = "go_default_library",
    srcs = [
        "apps.go",
        "autoscaling.go",
        "batch.go",
        "bootstrap.go",
        "certificates.go",
        "cloudproviders.go",
        "controllermanager.go",
        "core.go",
        "import_known_versions.go",
        "plugins.go",
        "policy.go",
        "rbac.go",
    ],
    importpath = "k8s.io/kubernetes/cmd/kube-controller-manager/app",
    visibility = ["//visibility:public"],
    deps = [
        "//cmd/controller-manager/app:go_default_library",
        "//cmd/kube-controller-manager/app/config:go_default_library",
        "//cmd/kube-controller-manager/app/options:go_default_library",
        "//pkg/apis/apps/install:go_default_library",
        "//pkg/apis/authentication/install:go_default_library",
        "//pkg/apis/authorization/install:go_default_library",
        "//pkg/apis/autoscaling/install:go_default_library",
        "//pkg/apis/batch/install:go_default_library",
        "//pkg/apis/certificates/install:go_default_library",
        "//pkg/apis/coordination/install:go_default_library",
        "//pkg/apis/core/install:go_default_library",
        "//pkg/apis/events/install:go_default_library",
        "//pkg/apis/extensions/install:go_default_library",
        "//pkg/apis/policy/install:go_default_library",
        "//pkg/apis/rbac/install:go_default_library",
        "//pkg/apis/scheduling/install:go_default_library",
        "//pkg/apis/settings/install:go_default_library",
        "//pkg/apis/storage/install:go_default_library",
        "//pkg/cloudprovider/providers:go_default_library",
        "//pkg/controller:go_default_library",
        "//pkg/controller/apis/config:go_default_library",
        "//pkg/controller/bootstrap:go_default_library",
        "//pkg/controller/certificates/approver:go_default_library",
        "//pkg/controller/certificates/cleaner:go_default_library",
        "//pkg/controller/certificates/rootcacertpublisher:go_default_library",
        "//pkg/controller/certificates/signer:go_default_library",
        "//pkg/controller/cloud:go_default_library",
        "//pkg/controller/clusterroleaggregation:go_default_library",
        "//pkg/controller/cronjob:go_default_library",
        "//pkg/controller/daemon:go_default_library",
        "//pkg/controller/deployment:go_default_library",
        "//pkg/controller/disruption:go_default_library",
        "//pkg/controller/endpoint:go_default_library",
        "//pkg/controller/garbagecollector:go_default_library",
        "//pkg/controller/job:go_default_library",
        "//pkg/controller/namespace:go_default_library",
        "//pkg/controller/nodeipam:go_default_library",
        "//pkg/controller/nodeipam/ipam:go_default_library",
        "//pkg/controller/nodelifecycle:go_default_library",
        "//pkg/controller/podautoscaler:go_default_library",
        "//pkg/controller/podautoscaler/metrics:go_default_library",
        "//pkg/controller/podgc:go_default_library",
        "//pkg/controller/replicaset:go_default_library",
        "//pkg/controller/replication:go_default_library",
        "//pkg/controller/resourcequota:go_default_library",
        "//pkg/controller/route:go_default_library",
        "//pkg/controller/service:go_default_library",
        "//pkg/controller/serviceaccount:go_default_library",
        "//pkg/controller/statefulset:go_default_library",
        "//pkg/controller/ttl:go_default_library",
        "//pkg/controller/ttlafterfinished:go_default_library",
        "//pkg/controller/volume/attachdetach:go_default_library",
        "//pkg/controller/volume/expand:go_default_library",
        "//pkg/controller/volume/persistentvolume:go_default_library",
        "//pkg/controller/volume/persistentvolume/config:go_default_library",
        "//pkg/controller/volume/pvcprotection:go_default_library",
        "//pkg/controller/volume/pvprotection:go_default_library",
        "//pkg/features:go_default_library",
        "//pkg/quota/v1/generic:go_default_library",
        "//pkg/quota/v1/install:go_default_library",
        "//pkg/serviceaccount:go_default_library",
        "//pkg/util/configz:go_default_library",
        "//pkg/util/flag:go_default_library",
        "//pkg/util/metrics:go_default_library",
        "//pkg/version:go_default_library",
        "//pkg/version/verflag:go_default_library",
        "//pkg/volume:go_default_library",
        "//pkg/volume/awsebs:go_default_library",
        "//pkg/volume/azure_dd:go_default_library",
        "//pkg/volume/azure_file:go_default_library",
        "//pkg/volume/cinder:go_default_library",
        "//pkg/volume/csi:go_default_library",
        "//pkg/volume/fc:go_default_library",
        "//pkg/volume/flexvolume:go_default_library",
        "//pkg/volume/flocker:go_default_library",
        "//pkg/volume/gcepd:go_default_library",
        "//pkg/volume/glusterfs:go_default_library",
        "//pkg/volume/hostpath:go_default_library",
        "//pkg/volume/iscsi:go_default_library",
        "//pkg/volume/local:go_default_library",
        "//pkg/volume/nfs:go_default_library",
        "//pkg/volume/portworx:go_default_library",
        "//pkg/volume/quobyte:go_default_library",
        "//pkg/volume/rbd:go_default_library",
        "//pkg/volume/scaleio:go_default_library",
        "//pkg/volume/storageos:go_default_library",
        "//pkg/volume/util:go_default_library",
        "//pkg/volume/vsphere_volume:go_default_library",
        "//staging/src/k8s.io/api/core/v1:go_default_library",
        "//staging/src/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
        "//staging/src/k8s.io/apimachinery/pkg/util/runtime:go_default_library",
        "//staging/src/k8s.io/apimachinery/pkg/util/sets:go_default_library",
        "//staging/src/k8s.io/apimachinery/pkg/util/uuid:go_default_library",
        "//staging/src/k8s.io/apimachinery/pkg/util/wait:go_default_library",
        "//staging/src/k8s.io/apiserver/pkg/server:go_default_library",
        "//staging/src/k8s.io/apiserver/pkg/server/healthz:go_default_library",
        "//staging/src/k8s.io/apiserver/pkg/server/mux:go_default_library",
        "//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library",
        "//staging/src/k8s.io/apiserver/pkg/util/term:go_default_library",
        "//staging/src/k8s.io/client-go/discovery/cached:go_default_library",
        "//staging/src/k8s.io/client-go/discovery/cached/memory:go_default_library",
        "//staging/src/k8s.io/client-go/dynamic:go_default_library",
        "//staging/src/k8s.io/client-go/informers:go_default_library",
        "//staging/src/k8s.io/client-go/kubernetes:go_default_library",
        "//staging/src/k8s.io/client-go/metadata:go_default_library",
        "//staging/src/k8s.io/client-go/metadata/metadatainformer:go_default_library",
        "//staging/src/k8s.io/client-go/rest:go_default_library",
        "//staging/src/k8s.io/client-go/restmapper:go_default_library",
        "//staging/src/k8s.io/client-go/scale:go_default_library",
        "//staging/src/k8s.io/client-go/tools/leaderelection:go_default_library",
        "//staging/src/k8s.io/client-go/tools/leaderelection/resourcelock:go_default_library",
        "//staging/src/k8s.io/client-go/util/cert:go_default_library",
        "//staging/src/k8s.io/client-go/util/flowcontrol:go_default_library",
        "//staging/src/k8s.io/client-go/util/keyutil:go_default_library",
        "//staging/src/k8s.io/cloud-provider:go_default_library",
        "//staging/src/k8s.io/component-base/cli/flag:go_default_library",
        "//staging/src/k8s.io/component-base/cli/globalflag:go_default_library",
        "//staging/src/k8s.io/metrics/pkg/client/clientset/versioned/typed/metrics/v1beta1:go_default_library",
        "//staging/src/k8s.io/metrics/pkg/client/custom_metrics:go_default_library",
        "//staging/src/k8s.io/metrics/pkg/client/external_metrics:go_default_library",
        "//vendor/github.com/spf13/cobra:go_default_library",
        "//vendor/k8s.io/klog:go_default_library",
        "//vendor/k8s.io/utils/exec:go_default_library",
        "//vendor/k8s.io/utils/net:go_default_library",
    ],
)

go_test(
    name = "go_default_test",
    srcs = ["core_test.go"],
    embed = [":go_default_library"],
    deps = [
        "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
        "//staging/src/k8s.io/client-go/discovery:go_default_library",
        "//staging/src/k8s.io/client-go/discovery/fake:go_default_library",
        "//staging/src/k8s.io/client-go/informers:go_default_library",
        "//staging/src/k8s.io/client-go/kubernetes:go_default_library",
        "//staging/src/k8s.io/client-go/kubernetes/fake:go_default_library",
        "//staging/src/k8s.io/client-go/rest:go_default_library",
    ],
)

filegroup(
    name = "package-srcs",
    srcs = glob(["**"]),
    tags = ["automanaged"],
    visibility = ["//visibility:private"],
)

filegroup(
    name = "all-srcs",
    srcs = [
        ":package-srcs",
        "//cmd/kube-controller-manager/app/config:all-srcs",
        "//cmd/kube-controller-manager/app/options:all-srcs",
        "//cmd/kube-controller-manager/app/testing:all-srcs",
    ],
    tags = ["automanaged"],
    visibility = ["//visibility:public"],
)
